[INFO] fetching crate iui 0.3.0...
[INFO] checking iui-0.3.0 against master#af3c6e733a40e671550e0f0f5aeecaa13772ba56 for pr-74989
[INFO] extracting crate iui 0.3.0 into /workspace/builds/worker-2/source
[INFO] validating manifest of crates.io crate iui 0.3.0 on toolchain af3c6e733a40e671550e0f0f5aeecaa13772ba56
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking crates.io crate iui 0.3.0
[INFO] finished tweaking crates.io crate iui 0.3.0
[INFO] tweaked toml for crates.io crate iui 0.3.0 written to /workspace/builds/worker-2/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0af611b0c896f32f7fd96ceb669c62d3a0f54e295de268315987a0c7f3d8b1b8
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "0af611b0c896f32f7fd96ceb669c62d3a0f54e295de268315987a0c7f3d8b1b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0af611b0c896f32f7fd96ceb669c62d3a0f54e295de268315987a0c7f3d8b1b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0af611b0c896f32f7fd96ceb669c62d3a0f54e295de268315987a0c7f3d8b1b8", kill_on_drop: false }`
[INFO] [stdout] 0af611b0c896f32f7fd96ceb669c62d3a0f54e295de268315987a0c7f3d8b1b8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4b388f7a05389070f02da6f3a99ff0f6215f79d2269ceb912a3de6d4d466d1ed
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "4b388f7a05389070f02da6f3a99ff0f6215f79d2269ceb912a3de6d4d466d1ed", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.21
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling libc v0.2.77
[INFO] [stderr]    Compiling syn v1.0.40
[INFO] [stderr]    Compiling cc v1.0.59
[INFO] [stderr]     Checking gimli v0.22.0
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]     Checking adler v0.2.3
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking object v0.20.0
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]     Checking rustc-demangle v0.1.16
[INFO] [stderr]     Checking miniz_oxide v0.4.1
[INFO] [stderr]    Compiling cmake v0.1.44
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling ui-sys v0.1.3
[INFO] [stderr]     Checking addr2line v0.13.0
[INFO] [stderr]     Checking backtrace v0.3.50
[INFO] [stderr]    Compiling synstructure v0.12.4
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking iui v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/basic.rs:54:35
[INFO] [stdout]    |
[INFO] [stdout] 54 |             let mut data: Box<Box<FnMut(&mut Button)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Button)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/basic.rs:58:40
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 &mut *data as *mut Box<FnMut(&mut Button)> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Button)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/basic.rs:54:35
[INFO] [stdout]    |
[INFO] [stdout] 54 |             let mut data: Box<Box<FnMut(&mut Button)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Button)`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/basic.rs:66:56
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(&mut Button)>>(data)(&mut button)
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Button)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/window.rs:92:35
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let mut data: Box<Box<FnMut(&mut Window) -> bool>> = Box::new(Box::new(|window| {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Window) -> bool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/window.rs:99:40
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 &mut *data as *mut Box<FnMut(&mut Window) -> bool> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Window) -> bool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/window.rs:107:55
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 mem::transmute::<*mut c_void, Box<Box<FnMut(&mut Window) -> bool>>>(data)(
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Window) -> bool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:67:35
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let mut data: Box<Box<FnMut(i64)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:71:40
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 &mut *data as *mut Box<FnMut(i64)> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:79:56
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(i64)>>(data)(val);
[INFO] [stdout]    |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:96:35
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let mut data: Box<Box<FnMut(i64)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:100:40
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 &mut *data as *mut Box<FnMut(i64)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:108:56
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(i64)>>(data)(val);
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:153:35
[INFO] [stdout]     |
[INFO] [stdout] 153 |             let mut data: Box<Box<FnMut(String)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:157:40
[INFO] [stdout]     |
[INFO] [stdout] 157 |                 &mut *data as *mut Box<FnMut(String)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:167:56
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(String)>>(data)(string);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:189:35
[INFO] [stdout]     |
[INFO] [stdout] 189 |             let mut data: Box<Box<FnMut(String)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:193:40
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 &mut *data as *mut Box<FnMut(String)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:203:56
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(String)>>(data)(string);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:236:35
[INFO] [stdout]     |
[INFO] [stdout] 236 |             let mut data: Box<Box<FnMut(i64)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:240:40
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 &mut *data as *mut Box<FnMut(i64)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:249:56
[INFO] [stdout]     |
[INFO] [stdout] 249 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(i64)>>(data)(val);
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:279:35
[INFO] [stdout]     |
[INFO] [stdout] 279 |             let mut data: Box<Box<FnMut(bool)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:283:40
[INFO] [stdout]     |
[INFO] [stdout] 283 |                 &mut *data as *mut Box<FnMut(bool)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:291:56
[INFO] [stdout]     |
[INFO] [stdout] 291 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(bool)>>(data)(val);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ffi_tools.rs:38:52
[INFO] [stdout]    |
[INFO] [stdout] 38 |     unsafe { mem::transmute::<*mut c_void, Box<Box<FnMut()>>>(data)() }
[INFO] [stdout]    |                                                    ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/menus.rs:51:35
[INFO] [stdout]    |
[INFO] [stdout] 51 |             let mut data: Box<Box<FnMut(&MenuItem, &Window)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&MenuItem, &Window)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/menus.rs:55:40
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 &mut *data as *mut Box<FnMut(&MenuItem, &Window)> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&MenuItem, &Window)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/menus.rs:70:56
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(&MenuItem, &Window)>>(data)(
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&MenuItem, &Window)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:138:35
[INFO] [stdout]     |
[INFO] [stdout] 138 |             let mut data: Box<Box<FnMut()>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:141:40
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 &mut *data as *mut Box<FnMut()> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:150:35
[INFO] [stdout]     |
[INFO] [stdout] 150 |             let mut data: Box<Box<FnMut()>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:153:40
[INFO] [stdout]     |
[INFO] [stdout] 153 |                 &mut *data as *mut Box<FnMut()> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:170:26
[INFO] [stdout]     |
[INFO] [stdout] 170 |     callback: Option<Box<FnMut()>>,
[INFO] [stdout]     |                          ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/basic.rs:58:40
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 &mut *data as *mut Box<FnMut(&mut Button)> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Button)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/basic.rs:66:56
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(&mut Button)>>(data)(&mut button)
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Button)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/window.rs:92:35
[INFO] [stdout]    |
[INFO] [stdout] 92 |             let mut data: Box<Box<FnMut(&mut Window) -> bool>> = Box::new(Box::new(|window| {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Window) -> bool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/window.rs:99:40
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 &mut *data as *mut Box<FnMut(&mut Window) -> bool> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Window) -> bool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/window.rs:107:55
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 mem::transmute::<*mut c_void, Box<Box<FnMut(&mut Window) -> bool>>>(data)(
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&mut Window) -> bool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:67:35
[INFO] [stdout]    |
[INFO] [stdout] 67 |             let mut data: Box<Box<FnMut(i64)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:71:40
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 &mut *data as *mut Box<FnMut(i64)> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:79:56
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(i64)>>(data)(val);
[INFO] [stdout]    |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controls/entry.rs:96:35
[INFO] [stdout]    |
[INFO] [stdout] 96 |             let mut data: Box<Box<FnMut(i64)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:100:40
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 &mut *data as *mut Box<FnMut(i64)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:108:56
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(i64)>>(data)(val);
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:153:35
[INFO] [stdout]     |
[INFO] [stdout] 153 |             let mut data: Box<Box<FnMut(String)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:157:40
[INFO] [stdout]     |
[INFO] [stdout] 157 |                 &mut *data as *mut Box<FnMut(String)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:167:56
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(String)>>(data)(string);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:189:35
[INFO] [stdout]     |
[INFO] [stdout] 189 |             let mut data: Box<Box<FnMut(String)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:193:40
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 &mut *data as *mut Box<FnMut(String)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:203:56
[INFO] [stdout]     |
[INFO] [stdout] 203 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(String)>>(data)(string);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(String)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:236:35
[INFO] [stdout]     |
[INFO] [stdout] 236 |             let mut data: Box<Box<FnMut(i64)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:240:40
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 &mut *data as *mut Box<FnMut(i64)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:249:56
[INFO] [stdout]     |
[INFO] [stdout] 249 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(i64)>>(data)(val);
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: use `dyn`: `dyn FnMut(i64)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:279:35
[INFO] [stdout]     |
[INFO] [stdout] 279 |             let mut data: Box<Box<FnMut(bool)>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:283:40
[INFO] [stdout]     |
[INFO] [stdout] 283 |                 &mut *data as *mut Box<FnMut(bool)> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/controls/entry.rs:291:56
[INFO] [stdout]     |
[INFO] [stdout] 291 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(bool)>>(data)(val);
[INFO] [stdout]     |                                                        ^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(bool)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ffi_tools.rs:38:52
[INFO] [stdout]    |
[INFO] [stdout] 38 |     unsafe { mem::transmute::<*mut c_void, Box<Box<FnMut()>>>(data)() }
[INFO] [stdout]    |                                                    ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/menus.rs:51:35
[INFO] [stdout]    |
[INFO] [stdout] 51 |             let mut data: Box<Box<FnMut(&MenuItem, &Window)>> = Box::new(Box::new(callback));
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&MenuItem, &Window)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/menus.rs:55:40
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 &mut *data as *mut Box<FnMut(&MenuItem, &Window)> as *mut c_void,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&MenuItem, &Window)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/menus.rs:70:56
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 mem::transmute::<*mut c_void, &mut Box<FnMut(&MenuItem, &Window)>>(data)(
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut(&MenuItem, &Window)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:138:35
[INFO] [stdout]     |
[INFO] [stdout] 138 |             let mut data: Box<Box<FnMut()>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:141:40
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 &mut *data as *mut Box<FnMut()> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:150:35
[INFO] [stdout]     |
[INFO] [stdout] 150 |             let mut data: Box<Box<FnMut()>> = Box::new(Box::new(callback));
[INFO] [stdout]     |                                   ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:153:40
[INFO] [stdout]     |
[INFO] [stdout] 153 |                 &mut *data as *mut Box<FnMut()> as *mut c_void,
[INFO] [stdout]     |                                        ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ui.rs:170:26
[INFO] [stdout]     |
[INFO] [stdout] 170 |     callback: Option<Box<FnMut()>>,
[INFO] [stdout]     |                          ^^^^^^^ help: use `dyn`: `dyn FnMut()`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/draw/transform.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |             let mut matrix = mem::uninitialized();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/ffi_tools.rs:4:47
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/ffi_tools.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | static INITIALIZED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead
[INFO] [stdout]   --> src/draw/transform.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |             let mut matrix = mem::uninitialized();
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/ffi_tools.rs:4:47
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]  --> src/ffi_tools.rs:6:34
[INFO] [stdout]   |
[INFO] [stdout] 6 | static INITIALIZED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^^^ help: replace the use of the deprecated constant: `AtomicBool::new(false)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> examples/files.rs:35:129
[INFO] [stdout]    |
[INFO] [stdout] 35 | ...   Err(why) => { window.modal_err(&ui, "I/O Error", &format!("Could not open file {}: {}", path.display(), why.description())); return; }
[INFO] [stdout]    |                                                                                                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> examples/files.rs:39:133
[INFO] [stdout]    |
[INFO] [stdout] 39 | ...   Err(why) => { window.modal_err(&ui, "I/O Error", &format!("Could not write to file {}: {}", path.display(), why.description())); re...
[INFO] [stdout]    |                                                                                                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 40.12s
[INFO] running `Command { std: "docker" "inspect" "4b388f7a05389070f02da6f3a99ff0f6215f79d2269ceb912a3de6d4d466d1ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4b388f7a05389070f02da6f3a99ff0f6215f79d2269ceb912a3de6d4d466d1ed", kill_on_drop: false }`
[INFO] [stdout] 4b388f7a05389070f02da6f3a99ff0f6215f79d2269ceb912a3de6d4d466d1ed
